package com.mr.controller;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.bind.annotation.RestController;
import java.io.File;
import java.io.IOException;

@RestController
public class FileController {
    @PostMapping("/upload")
    public String handleFileUpload(@RequestParam("file") MultipartFile file) {
        // 校验文件有效性
        if (file.isEmpty()) {
            throw new RuntimeException("上传文件不能为空");
        }
        
        // 上传文件后缀名检查
        String originalFilename = file.getOriginalFilename();
        if (originalFilename == null || !originalFilename.endsWith(".txt")) {
            throw new RuntimeException("仅支持上传txt格式文件");
        }
        
        // 创建输入目录并保存文件
        String inputDir = System.getProperty("user.dir") + "/input/";
        new File(inputDir).mkdirs(); // 自动创建目录
        
        String inputPath = inputDir + file.getOriginalFilename(); // 保存文件到本地
        try {
            file.transferTo(new File(inputPath));
            return inputPath; // 返回文件存储路径供作业使用
        } catch (IOException e) {
            throw new RuntimeException("文件上传失败");
        }
    }
}
